package com.heima.wemedia.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.NewsAuthDto;
import com.heima.model.wemedia.dtos.WmNewsDto;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import com.heima.model.wemedia.pojos.WmNews;

import java.util.List;

/**
 * @ClassName WnNewsService
 * @Description TODO
 * @Author AWei
 * @DATE 2021/4/15 17:32
 * @Version 1.0
 */
public interface WmNewsService extends IService<WmNews> {

    /**
     * @param wmNewsPageReqDto 请求携带数据封装对象
     * @return 查询结果
     * @Description 分页带条件查询自媒体文章列表
     */
    ResponseResult findAllNewsByAnyCondition(WmNewsPageReqDto wmNewsPageReqDto);

    /**
     * @param wmNewsSummitStatus 提交状态：0：草稿 1：提交文章
     * @param wmNewsDto          文章编写请求携带参数封装对象
     * @return 提交结果
     * @Description 提交文章
     */
    ResponseResult submitNews(WmNewsDto wmNewsDto, Short wmNewsSummitStatus);

    ResponseResult findWmNewsById(Integer id);

    ResponseResult delNews(Integer id);

    ResponseResult downOrUp(WmNewsDto dto);

    /**
     * @return 查询结果
     * @Description 查询需要发布的文章id列表
     */
    List<Integer> findRelease();

    /**
     * @param newsAuthDto 文章列表分页查询对象
     * @return 分页查询结果集
     * @Description 查询文章列表
     */
    ResponseResult findList(NewsAuthDto newsAuthDto);

    /**
     * @param id 文章id
     * @return 查询结果
     * @Description 查询文章详情
     */
    ResponseResult findWmNewsVo(Integer id);

    /**
     * @param wmNewsAuthPass 更改的文章状态码
     * @param newsAuthDto 文章列表分页查询条件对象
     * @return 更改结果
     * @Description 更改文章状态
     */
    ResponseResult updateStatus(Short wmNewsAuthPass, NewsAuthDto newsAuthDto);
}
